package controlador;

import java.math.BigDecimal;
import java.util.ArrayList;

import dominio.TipoCuenta;

public class TipoCuentaControlador {

	private ArrayList<TipoCuenta> tiposCuenta;

	public TipoCuentaControlador() {
		tiposCuenta = new ArrayList<TipoCuenta>();
	}

	public TipoCuenta crearCuenta(int codigo, String descripcionPlan,
			int cantidadServicios, int cantidadHabitaciones,
			int cantidadClientes, int cantidadReservas, BigDecimal precio) {
		TipoCuenta tipoCuenta = new TipoCuenta(codigo, descripcionPlan,
				cantidadServicios, cantidadHabitaciones, cantidadClientes,
				cantidadReservas, precio);
		tiposCuenta.add(tipoCuenta);
		return tipoCuenta;
	}

	public TipoCuenta obtenerDatosCuenta(int codigo) {
		TipoCuenta tipoCuenta = null;
		for (int i = 0; i < devolverCantidadTiposCuenta(); i++) {
			TipoCuenta tipo = tiposCuenta.get(i);
			if (tipo.getCodigo() == codigo) {
				tipoCuenta = tipo;
			}
		}
		return tipoCuenta;
	}

	public ArrayList<TipoCuenta> mostrarCuentasDisponibles(int codigo) {
		ArrayList<TipoCuenta> disponibles = new ArrayList<TipoCuenta>();
		for (int i = 0; i < devolverCantidadTiposCuenta(); i++) {
			TipoCuenta tipo = tiposCuenta.get(i);
			if (tipo.getCodigo() != codigo) {
				disponibles.add(tipo);
			}
		}
		return disponibles;
	}

	public String realizarPago(int codigo) {
		String tipoCuenta = "";
		for (int i = 0; i < devolverCantidadTiposCuenta(); i++) {
			TipoCuenta tipo = tiposCuenta.get(i);
			if (tipo.getCodigo() == codigo) {
				tipoCuenta = "El monto a pagar es : $" + tipo.getPrecio();
				break;
			}
		}
		return tipoCuenta;
	}

	public int devolverCantidadTiposCuenta() {
		return tiposCuenta.size();
	}
}